The present invention relates generally to computer-generated images, and more particularly to a method and system for rapidly rendering successive views in a series of views of a three dimensional image.
Computer-generated images are used in many different industries to model surfaces and solids. In the medical fields, computer imaging is used in combination with ultrasound imaging, magnetic resonance imaging or other medical imaging technology to display, analyze and organize the data these medical imaging technologies provide. For example, ultrasound machines use ultrasonic wave, i.e. sonar, to scan a patient""s body. The data thus obtained is then analyzed by physicians to assist the physicians in their diagnosis and treatment of patients. Ultrasound can be used to view a fetus, blood-flow patterns in arteries, or to scan organs for irregularities such as cysts, etc.
Typically, a three dimensional image is displayed to a user by being projected on a two dimensional surface such as a screen. Again, the three dimensional image is typically viewed by a user through a series of two dimensional Views to create a three dimensional image. As each view is followed by the next view on the monitor, the display coordinates of the monitor are updated to display new image properties, which, in the aggregate, display the new two dimensional view.
This new two dimensional view may be the result of changes in a dynamic image data set, such as when the view is being generated in realtime, while the data is being captured. Alternatively, the data set may be dynamic due to being downloaded from another source. Where the data set is static, such as when image data that has previously been acquired is being viewed, new views can be selected by geometrically manipulating coordinate space on which the static data set is mapped.
In realtime three dimensional rendering, the data set being rendered is a dynamic entity that changes with time as the data set is being acquired. For example, capturing a monochrome ultrasound CINE clipped with 150 frames, of typical dimension 640 by 480, the frame capture rate being 30 frames per second, requires an amount of memory equal to 150 by 640 by 480 bytes to be reserved. These bytes are filled with a single frame of data every one thirtieth of a second, until all 150 frames have been filled, which will take 5 seconds given a frame capture rate of 30 frames per second.
In realtime three dimensional imaging, a static view of the data set is typically selected, and then updated as data is added to the data set. Various rendering techniques can be used such as three dimensional texture mapping, maximum intensity projection, opacity rendering or surface rendering As data is added to the data set, and is subsequently mapped to the coordinate space, some of this new data will be projected onto the monitor. This will require the display coordinates on which this new data is projected to be rendered.
Rendering requires the data processor to access memory in order to obtain the necessary image data from the data set. Obtaining information from memory represents a bottleneck in processing time, as the processors must wait for the information to be obtained from memory. Accordingly, rasterizing is both computationally intensive and comparatively time-consuming.
These problems may also be present where the data set is a static entity, and it is the view that is dynamic. Specifically, whenever the view is changed, it will be necessary to access memory in order to retrieve the image data required to rasterize the display coordinates of the monitor in order to be able to display the new view.
Accordingly, there is a need for a system and method of reducing the computation, as well as the access to memory, required to replace existing two dimensional views shown on a monitor, with now two dimensional views of the three dimensional data set.
An object of one aspect of the present invention is to provide a method and system for selective rendering and rapid three dimensional imaging.
In accordance with one aspect of the present invention, there is provided a method for updating a display from an nth view of a series of views of a three dimensional image to an (n+1)th view of the series of views of the three dimensional image. The three dimensional is generated in an image coordinate set of a coordinate space, and each image coordinate in the image coordinate set has an associated image property. The image coordinate set includes, for the nth view of the series of views, an associated nth image coordinate subset.
The display has a display coordinate set. The display coordinate set has for the nth view of the series of views, an associated nth display coordinate subset. The nth view of the series of views is generated by projecting the associated nth image coordinate subset onto the nth display coordinate subset on the display so that each display coordinate in the nth display coordinate subset has an associated nth view-specific image coordinate projected thereon. The (n+1)th view of the series of views is generated by projecting the associated (n+1)th image coordinate subset onto the (n+1)th display coordinate subset on the display so that each display coordinate in the (n+1)th display coordinate subset has an associated (n+1)th view-specific image coordinate projected thereon.
The method includes the following steps:
(1) for each display coordinate in both the nth display coordinate subset and the (n+1)th display coordinate subset,
(a) determining whether the nth view-specific image coordinate is the same as the (n+1)th view-specific image coordinate; and,
(b) when the nth view-specific image coordinate is the same as the (n+1)th view-specific image coordinate, retaining the projection of the nth view-specific image coordinate onto such display coordinate as the projection of the (n+1)th view-specific image coordinate onto such display coordinate; and,
(b) when the nth view associated image coordinate is different from the (n+1)th view associated image coordinate, projecting the (n+1)th view associated image coordinate onto such display coordinate.
Preferably, the method comprises adding an additional image coordinate subset to the image coordinate set in an incremental time between the display of the nth view of the series of views and the (n+1)th view of the series of views of the three dimensional image. The (n+1)th view specific subset of the image coordinate set intersects with the additional image coordinate subset. Preferably, the three dimensional image is being generated in real time by scanning an imaged object. Alternatively, the image coordinate set is fixed and the (n+1)th view of the series of views is generated by selecting the (n+1)th view-specific subset of the image coordinate set.
In accordance with another preferred aspect of the invention, there is provided a method of updating a display from a preceding view in two successive views in a series of views of a three dimensional image to a subsequent view in the two successive views in the series of views of the three dimensional image. The three dimensional image is generated in an image coordinate set of a coordinate space. Each image coordinate in the image coordinate set has an associated image property.
The display includes a display coordinate set and the preceding view is generated by a preceding projection of a preceding view image coordinate subset of the image coordinate set onto a preceding view display coordinate subset of the display coordinate set so that each display coordinate in the preceding view image coordinate subset has an associated preceding view image coordinate in the preceding view image coordinate subset projected thereon. The subsequent view is generated by a subsequent projection of a subsequent view image coordinate subset of the image coordinate set onto a subsequent view display coordinate subset of the display coordinate set so that each display coordinate in the subsequent view image coordinate subset has an associated subsequent view image coordinate in the subsequent view image coordinate subset projected thereon.
The method includes the following steps:
(1) for each display coordinate in both the preceding view display coordinate subset and the subsequent view display coordinate subset,
(a) determining whether the associated preceding view image coordinate is the associated subsequent view image coordinate;
(b) when the associated preceding view image coordinate is the associated subsequent view image coordinate, retaining the preceding projection of the associated preceding view image coordinate onto such display coordinate as the subsequent projection of the associated subsequent view image coordinate onto such display coordinate;
(c) when the associated preceding view image coordinate is not the associated subsequent view image coordinate, stopping the preceding projection of the associated preceding view image coordinate onto such display coordinate and beginning the subsequent projection of the associated subsequent view image coordinate onto such display coordinate.
Preferably, the two successive views in the series of views of the three dimensional image are any two successive views in the series of views of the three dimensional image. Preferably, in an incremental time between the display of the preceding view and the subsequent view, the image coordinate set of the coordinate space increases as an additional image coordinate subset is added to the image coordinate set. The subsequent view subset of the image coordinate set intersects with the additional image coordinate subset.
In accordance with a preferred aspect of the above-described method, the three dimensional image is being generated in real time by scanning an imaged object. Alternatively, the image coordinate set is static and the subsequent view subset is selected from the static image coordinate set.
In accordance with a preferred embodiment of the invention, there is provided a system for updating a display from a preceding view in two successive views in a series of views of a three dimensional image to a subsequent view in the two successive views in the series of views of the three dimensional image The three dimensional image is generated in an image coordinate set of a coordinate space. Each image coordinate in the image coordinate set has an associated image property. The display has a display coordinate set and the preceding view is generated by a preceding projection of a preceding view image coordinate subset of the image coordinate set onto a preceding view display coordinate subset of the display coordinate set so that each display coordinate in the preceding view image coordinate subset has an associated preceding view image coordinate in the preceding view image coordinate subset projected thereon. The subsequent view is generated by a subsequent projection of a subsequent view image coordinate subset of the image coordinate set onto a subsequent view display coordinate subset of the display coordinate set so that each display coordinate in the subsequent view image coordinate subset has an associated subsequent view image coordinate in the subsequent view image coordinate subset projected thereon.
The system includes a determining means, a retaining means, and a stopping means wherein for each display coordinate in both the preceding view display coordinate subset and the subsequent view display coordinate subset,
(1) the determining means determines whether the associated preceding view image coordinate is the associated subsequent view image coordinate;
(2) when the associated preceding view image coordinate is the associated subsequent view image coordinate, the retaining means retains the preceding projection of the associated preceding view image coordinate onto such display coordinate as the subsequent projection of the associated subsequent view image coordinate onto such display coordinate;
(3) when the associated preceding view image coordinate is not the associated subsequent view image coordinate, the stopping means stops the preceding projection of the associated preceding view image coordinate onto such display coordinate and beginning the subsequent projection of the associated subsequent view image coordinate onto such display coordinate.
Preferably the two successive views in the series of views of the three dimensional image can be any two successive views in the series of views of the three dimensional image.
Preferably, the system includes a data update means for increasing the image coordinate set of the coordinate space by adding an additional image coordinate subset to the image coordinate set during an incremental time between the display of the preceding view and the subsequent view. The subsequent view subset of the image coordinate set intersects with the additional image coordinate subset. Preferably, the system comprises scanning means for generating the three dimensional image by scanning an imaged object.